MIDI Cue Syntax

To identify simple MIDI cue descriptors,  type in the direct hexidecimal bytes you wish to search for, separated by spaces.  Spaces act as delimiters for MIDI bytes.  For example, if you wanted to identify a Sysex Start message, you would enter

F0

as the MIDI cue description.

When typing in the MIDI information that you wish to identify as a cue, Flypaper allows for some special symbols that make your MIDI cue definitions more flexible.

@ Symbol
Use the @ symbol as a "wild card" search character that can be anything.  For instance, if you wish to identify note-on messages on any channel, not just channel 1 (e.g. "90") you would enter:

9@
 
as the MIDI  cue descriptor.

$ Symbol
Use the $ symbol to store a 4-bit value into a Flypaper user variable.  Sixteen user variables are available, $0 through $F.  Don't confuse the $ symbol with "hexidecimal."  Flypaper treats all numbers entered in the Add/Edit Cue dialog as hexidecimal values. 

For example, to store the hi-byte of the key number in a note-on message and the low-byte of the key number, enter

90 $0$1

as the MIDI cue descriptor.  If you also wanted to capture key velocity information to user variables $2 and $3, type

90 $0$1 $2$3

# Symbol
Use the # symbol to refer to the current Session Definition's channel.

Operators

The following symbols create an arithmetic operation :

+  Symbol
Adds two values together

- Symbol
Subtracts two values

* Symbol
Multiplies two values

/ Symbol
Divides two values

>
Bitwise SHIFT RIGHT on two values

<
Bitwise SHIFT LEFT on two values

&
Bitwise AND on two values

|
Bitwise OR on two values

For example, perhaps you want to transpose an incoming note on message.  The Session Definition cue descriptor would be:

90 $0$1 $2$3

and the Session Definition reaction cue descriptor could be:

90 $0$1+7 $2$3

 using the arithmetic operator "+" to add seven (a perfect fifth) to every note on message's note number.